Universal Product Code
UPC (skrót od ang.: Universal Product Code) – pierwszy standard kodu kreskowego, wprowadzony został w supermarketach w USA i Kanadzie w 1973 roku, z myślą o usprawnieniu obsługi klientów i gromadzeniu danych w punktach sprzedaży.
Standaryzacją zajmowały się organizacje UCC (Uniform Code Council, Inc.) w USA oraz ECCC (Electronic Commerce Council of Canada). W wyniku podjęcia działań mających na celu połączenie standardów UPC oraz konkurencyjnego EAN w 2005 roku organizacje te weszły w skład globalnej organizacji GS1.
Rodzaje kodów UPC
[edytuj | edytuj kod]W chwili obecnej stosowane są 2 rodzaje kodów numerycznych UPC:
- UPC-A (pełna) – kodowane jest 12 cyfr
- UPC-E (skrócona) – kodowane jest 6 cyfr
Struktura kodu
[edytuj | edytuj kod]W kodzie UPC-A dwanaście cyfr dziesiętnych kodowane jest jako SLLLLLLMRRRRRRE, gdzie S (początek) i E (koniec) oznaczone są przez 3 moduły (bity – 101), M (środek, pole ochronne) jako 01010. Każde L i R jest cyfrą przedstawioną przez 7 modułów (siedem bitów). Całość kodu składa się z 95 bitów. Aby zmniejszyć prawdopodobieństwo błędnego odczytu, każde cyfra zakodowana jest tak, by w jak największym stopniu różnić się od pozostałych. Dodatkowo w kodowaniu nie występują moduły dłuższe od 4 przerw lub pasków.
Pierwsza cyfra L jest prefiksem, natomiast ostatnia cyfra R jest sumą kontrolną.
W kodzie UPC-E można zaprezentować to jako SLLLRRRE
Znaczenie prefiksów
[edytuj | edytuj kod]- 0, 1, 6, 7, 8 lub 9 dla większości produktów
- 2 zarezerwowane dla produktów o zmiennej masie w obrocie lokalnym. Produkty takie mają przydzielany kod UPC przez sklepy, jeżeli są tam pakowane. W tym przypadku LLLLL jest numerem produktu, a _RRRR przedstawia wagę albo cenę produktu – jest to określone w pierwszym R.
- 3 leki według numeru National Drug Code – Narodowego Kodeksu Leków
- 4 zarezerwowane dla użytku lokalnego, często dla kart lojalnościowych
- 5 kupony – rzadko używany. Kod kuponu zapisany jest w LLLLL, natomiast _RRRR podaje wartość (wyrażoną w procentach albo liczbowo – pierwsze R określa rodzaj danych)
Poprzez dodanie prefiksu 0, kody te stają się zgodne z EAN-13.
Obliczanie sumy kontrolnej
[edytuj | edytuj kod]W systemie UPC-A, sumę kontrolną oblicza się w następujący sposób:
- Cyfry będące na miejscach nieparzystych (pierwsze, trzecie, piąte, itd) należy dodać i pomnożyć całość przez 3.
- Do wyniku dodać cyfry znajdujące się na miejscach parzystych
- Od otrzymanego wyniku obliczyć wartość modulo 10
- Odjąć otrzymany wynik od 10
- Od otrzymanego wyniku obliczyć wartość modulo 10 – (stosowane w przypadku, gdy otrzymany wynik równy jest 10. Powoduje to jego skrócenie do jednocyfrowego 0)
Na przykład dla kodu "03600029145X", gdzie X oznacza cyfrę kontrolną, X zostaje wyliczone w następujący sposób: Suma cyfr znajdujących się w miejscach nieparzystych (0+6+0+2+1+5 = 14) jest mnożona przez 3 (14 × 3 = 42), następnie dodawane są cyfry znajdujące się na miejscach parzystych – (42+3+0+0+9+4 = 58), obliczana jest wartość modulo 10 (58%10 = 8), a następnie wynik odejmowany jest od 10 (10 – 8 = 2). Obliczamy po raz kolejny modulo 10 (2%10 = 2). Suma kontrolna ma wartość 2.
W UPC-E cyfra kontrolna wynika z parytetu zakodowanych w kodzie cyfr.
Sposób zapisu znaków
[edytuj | edytuj kod]W kodzie UPC-A, każda cyfra jest zapisana przez kombinację 4 modułów (kreska przerwa kreska przerwa lub na odwrót). Ze względu na możliwość odczytu kodu w dwie strony cyfry zapisane po lewej stronie kodu ("L") są przedstawione jako dopełnienie takiej samej cyfry zapisanej po prawej stronie kodu ("R").
Na przykład cyfra "6" jest zapisana jako:
0101111
(Dla lewej strony kodu)1010000
(Dla prawej strony kodu)
Znak | Sposób kodowania lewa strona |
Sposób kodowania prawa strona |
0 | 0001101 | 1110010 |
1 | 0011001 | 1100110 |
2 | 0010011 | 1101100 |
3 | 0111101 | 1000010 |
4 | 0100011 | 1011100 |
5 | 0110001 | 1001110 |
6 | 0101111 | 1010000 |
7 | 0111011 | 1000100 |
8 | 0110111 | 1001000 |
9 | 0001011 | 1110100 |
Przypisy
[edytuj | edytuj kod]- ↑ EAN-13 SYMBOLOGY [online], www.barcodeisland.com [dostęp 2017-11-27] [zarchiwizowane z adresu 2016-01-14] .
Bibliografia
[edytuj | edytuj kod]- Kody kreskowe – rodzaje, standardy, sprzęt, zastosowania – ILiM, Poznań 2000, ISBN 83-87344-60-5
- (PDF)Specyfikacje symboliki EAN/UPC na stronie gs1pl.org[dostęp: 2008.01.11]
Linki zewnętrzne
[edytuj | edytuj kod]- UPC Database (ang.)